An N×M Multiple-Inputs-Multiple-Outputs (MIMO) system 100 is shown in FIG. 1, which includes multiple M transmitting antennae 102 sending signals to multiple N receiving antennae 104. The M transmit antennae 102 may transmit over a channel data streams represented by a transmit vector s and received by the receiving antennae represented by a received vector y. The relationship between the transmitted vector s and the received vector y defines the channel information, which may be represented by a channel matrix H as follows:y=H−s+n
The channel matrix H includes entries hij that represent the relationship between the signals transmitted from the jth transmitter antenna 102 to the signal received by the ith receiver antenna 104. The dimension of the transmit vector s is M×1, the dimension of the received vector y is N×1, the dimension of the channel matrix H is N×M and n is a signal noise vector of dimension N×1 for N×M MIMO system 100.
A MIMO decoder 106, e.g., a maximum likelihood (ML) decoder, may decode a received signal y by determining its corresponding transmit signal s for a given channel matrix H. Each vector s may be a vector with a number of elements equal to the number of transmit antennae 102, M, and each vector y may be a vector with a number of elements equal to the number of receive antennae 104, N. In one example of a 4×4 MIMO channel matrix H (N=M=4), each vector s and y may be a 4-vector with 4 elements.
A demultiplexer 108 may modulate transmitted signals s, for example, using quadrature amplitude modulation (QAM) mappers with 4, 16 or 64 QAM or any other type of modulation. Modulation may define a number of possible or candidate values for each vector element. For example, each element in 4 QAM or quadrature phase-shift keying (QPSK) has 4 possible values (e.g. defined by 2 bits−2^2=4 complex values (1,1), (−1,1), (−1,−1), (1,−1)), each element in 64 QAM has 64 possible values (e.g. 6 bits), etc. Decoder 106 may evaluate a total number of different transmit vectors s equal to the number of possible candidate modulation values to the power of the number of transmit antennae, M, to find the most likely solution for each received signal y. For example, 64 QAM, using 4×4 MIMO there are 64^4 (16.8 million) different candidate 4-vectors s. A “tone” of data refers, e.g. in OFDM modulation, to the data transmitted/received over each frequency sub-carrier, which may be represented by all candidate transmit vectors s used to decode a single received signal y. For example, the (long term evolution) LTE advanced communication standard Cat.7 supports 12.6 million tones of data per second, or 12.6 million×16.8 million (211.68 trillion) candidate transmit vectors s to decode the signals y received during each second of communication.
Due to the enormous rate at which information may be decoded, there is a great need in the art for providing a system and method that manages decoding signals in MIMO systems at an acceptable complexity while maintaining performance.